package com.koron.common.core.business.message.service;

import com.github.pagehelper.PageInfo;
import com.koron.bean.query.PageQuery;
import com.koron.common.core.business.message.bean.dto.AccountPhone;
import com.koron.common.core.business.message.bean.dto.MessageTopicDto;
import com.koron.common.core.business.message.bean.po.MessageTopicPo;
import com.koron.common.core.business.message.bean.vo.MessageTopicVo;
import org.koron.ebs.mybatis.SessionFactory;

import java.util.List;

/**
 * 消息主题表(MessageTopic)表服务接口
 *
 * @author zhouj
 * @since 2022-03-16 14:14:09
 */
public interface MessageTopicService {

    MessageTopicPo insertOrUpdate(SessionFactory factory, MessageTopicDto messageTopicDto);

    int insertOrUpdateBatch(SessionFactory factory, List<MessageTopicPo> messageTopicList);

    int insert(SessionFactory factory, MessageTopicPo messageTopic);

    int insertBatch(SessionFactory factory, List<MessageTopicPo> messageTopicList);

    int update(SessionFactory factory, MessageTopicPo messageTopic);

    int deleteById(SessionFactory factory, String id);

    MessageTopicVo queryById(SessionFactory factory, String id);

    PageInfo queryPageList(SessionFactory factory, MessageTopicPo messageTopic, PageQuery pageQuery);

    List<MessageTopicPo> queryList(SessionFactory factory, MessageTopicPo messageTopic);

    MessageTopicDto queryByCode(SessionFactory factory, String code);

    List<AccountPhone> queryPhoneByAccountList(SessionFactory factory, List<String> accountList);

}
